import { request } from '@/utils'

/**
 * 获取角色列表
 * @param params 参数
 * @returns
 */
export function getRoleList(params: any = {}) {
  return request({
    url: `/role/v1/list`,
    method: 'get',
    params
  })
}

/**
 * 根据ID查询角色信息
 * @param id 角色唯一ID
 * @returns
 */
export function getOneRoleList(id: any) {
  return request({
    url: `/role/v1/getOne/${id}`,
    method: 'get'
  })
}

/**
 * 新增一条后台角色
 * @returns
 */
export function createOneRole(data: { name: any; description: any }) {
  return request({
    url: `/role/v1/create`,
    method: 'post',
    data
  })
}

/**
 * 根据ID删除后台角色
 * @param id 角色唯一ID
 * @returns
 */
export function deleteRole(id: any) {
  return request({
    url: `/role/v1/delete/${id}`,
    method: 'delete'
  })
}

/**
 * 根据ID修改后台角色
 * @param id 角色唯一ID
 * @returns
 */
export function upDateRole(id: any, data: { name: any; description: any }) {
  return request({
    url: `/role/v1/update/${id}`,
    method: 'put',
    data
  })
}

/**
 * 获取用户列表
 * @returns
 */
export function getUserList(params: any = {}) {
  return request({
    url: `/admin/v1/list`,
    method: 'get',
    params
  })
}

/**
 * 新增一条后台用户
 * @returns
 */
export function createOneUser(data: {
  username: any
  email: any
  note: any
  password: any
  nickName: any
}) {
  return request({
    url: `/admin/v1/register`,
    method: 'post',
    data
  })
}

/**
 * 根据ID编辑用户
 * @returns
 */
export function upDateUser(
  id: any,
  data: { username: any; email: any; note: any; password: any; nickName: any }
) {
  return request({
    url: `/admin/v1/update/${id}`,
    method: 'post',
    data
  })
}

/**
 * 根据ID删除用户
 * @returns
 */
export function delUser(id: any) {
  return request({
    url: `/admin/v1/delete/${id}`,
    method: 'post'
  })
}

/**
 * 根据ID获取指定用户的角色
 * @returns
 */
export function getUserRole(adminId: any) {
  return request({
    url: `/admin/v1/role/${adminId}`,
    method: 'get'
  })
}

/**
 * 修改用户角色
 * @returns
 */
export function updataUserRole(params: any = {}) {
  return request({
    url: `/admin/v1/role/update`,
    method: 'post',
    params
  })
}

/**
 * 根据角色ID获取角色的权限
 * @returns
 */
export function getRolePrivi(roleId: any) {
  return request({
    url: `/role/v2/listResourceIds/${roleId}`,
    method: 'get'
  })
}

/**
 * 设置角色的权限
 * @returns
 */
export function updataRolePrivi(params: { roleId: any; resourceIds: any }) {
  return request({
    url: `/role/v2/allocResource`,
    method: 'post',
    params
  })
}

// /**
//  * 获取用户权限按钮信息
//  * @returns
//  */
// export function getinfoPrivi(adminId: any) {
//   return request({
//     url: `/admin/v1/permission/${adminId}`,
//     method: 'get'
//   })
// }
